package com.wmjsoft.plugins.security.base

import org.nutz.dao.entity.annotation.ColDefine
import org.nutz.dao.entity.annotation.Column
import org.nutz.dao.entity.annotation.Id
import java.io.Serializable
import java.time.LocalDateTime

abstract class BaseModel<T : Any> : MyBaseService<T>(),Serializable {

    @Id
    @Column
    @ColDefine(width = 11)
    var id: Long? = null

    @Column
    @ColDefine(notNull = true, width = 25)
    var createdDateTime: LocalDateTime? = null

    @Column
    @ColDefine(notNull = true, width = 25)
    var lastUpdateDateTime: LocalDateTime? = null

    @Column
    @ColDefine(notNull = true, width = 11)
    var createdUserId: Long? = null

    @Column
    @ColDefine(notNull = true)
    var createdUserName: String? = null

    @Column
    @ColDefine(notNull = true, width = 11)
    var lastUpdateUserId: Long? = null

    @Column
    @ColDefine(notNull = true)
    var lastUpdateUserName: String? = null

    @Column
    @ColDefine(notNull = true, width = 1)
    var deleteStatus: Int? = null



}